package com.fastloan.safe.mgt.root.dao;


import com.fastloan.safe.mgt.root.model.CmDefFun;
import com.fastloan.safe.mgt.root.model.vo.DefFunVo;
import com.fastloan.safe.mgt.root.model.vo.DefFunTreeVo;
import com.kawins.base.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface CmDefFunMapper extends BaseMapper<CmDefFun> {
    /**
     * 功能模块分页列表
     *
     * @param map
     * @return
     */
    List<DefFunVo> pageList(Map<String, Object> map);

    /**
     * 获得可以转为Tree的功能列表
     *
     * @param isAdmin 是否为Admin
     * @return
     */
    List<DefFunTreeVo> select2FunBaseVo(@Param("isAdmin") boolean isAdmin);

    /**
     * 根据顶级功能ID获取所有子功能
     *
     * @param funId
     * @param hasSelf true:包含自己
     * @return
     */
    List<DefFunTreeVo> selectAllSonByTop(@Param("funId") String funId, @Param("hasSelf") boolean hasSelf);


    /**
     * @param orgId
     * @return
     */
    List<CmDefFun> selectTopByOrg(@Param("orgId") String orgId);
}